Methods and apparatus for additive manufacturing along user-specified toolpaths

ABSTRACT

One or more input/output devices accept user-inputted path instructions that specify a set of multiple deposition paths for an extruder to travel. An actuator actuates motion of the extruder along a trajectory that includes each of the deposition paths and also includes multiple non-deposition paths. For each deposition path: (a) the user-inputted path instructions specify a thickness of an object; and (b) the extruder extrudes the object in accordance with fabrication instructions computed by a computer based at least in part on the thickness. As the extruder moves over the entire trajectory, the extruder extrudes a set of objects, one object per deposition path. The objects adhere to each other to form an integral 3D structure. In some cases, the objects include functionally graded material.

RELATED APPLICATIONS

This application is a non-provisional of, and claims the benefit of thefiling date of, U.S. Provisional Patent Application No. 62/050,724,filed Sep. 15, 2014, the entire disclosure of which is hereinincorporated by reference.

FIELD OF TECHNOLOGY

The present invention relates generally to additive manufacturing alonguser-specified toolpaths.

SUMMARY

In illustrative implementations of this invention, an additivemanufacturing system comprises an extruder, an actuator and I/O devices.

The I/O devices accept input from a user. The input includesuser-inputted path instructions that specify a set of multipledeposition paths for an extruder to travel. For each of the depositionpaths, the user-inputted path instructions specify parameters of anobject to be extruded by the extruder while the extruder moves along thedeposition path. For example, for a given deposition path, theparameters may specify a shape (sometimes called an extrusion geometry)of the object to be extruded during the deposition path. For example,specifying the shape of the object may comprise specifying a height orwidth of the object.

The actuator actuates motion of the extruder along a toolpath. Thetoolpath includes straight or curved segments in which the extruderextrudes material (deposition paths) and also includes straight orcurved segments in which the extruder does not extrude material(non-deposition paths).

The deposition paths are specified by user-inputted path instructions.In many cases, deposition paths are interspersed between non-depositionpaths. For example, in some cases, an extruder moving along a trajectorywill move along a deposition path, then along a non-deposition path, andthen along another deposition path.

In some cases, the actuator that moves the extruder is a robotic arm,and the extruder is attached to an end of the robotic arm. In somecases, the actuator comprises a conventional system of motors, gears,gantries and guide rails, such as those used in a conventional 3Dprinter to actuate motion of a fabrication tool. Alternatively, any typeof motion system may be used to move the extruder.

In illustrative implementations, a computer computes fabricationinstructions based at least in part on the user-inputted pathinstructions. The fabrication instructions control movement by theactuator and extrusion by the extruder. In some cases, the fabricationinstructions specify (i) a pressure in the extruder or (ii) an extruderspeed. The pressure or extruder speed control the shape (extrusiongeometry) of the objects extruded.

As a result, in illustrative implementations, the extruder extrudes aset of objects, one object per deposition path. The extruded objectshave shapes (extrusion geometries) specified by the user. Afterdeposition, the extruded objects adhere to each other, such thattogether they form a 3D fabricated item that is an integral structure.

In illustrative implementations, the extruder includes one or morenozzles and multiple containers for storing multiple materials. In somecases, extrusion from the extruder is actuated by pneumatic or fluidicpressure. In some cases, extrusion from the extruder is actuated byscrews or other solid objects that apply force against material to beextruded. Different types of nozzles may be used. For example, any ofthe following types of nozzles may be used: (a) a nozzle for singlematerial extrusion, (b) a nozzle for extrusion of two parallel streamsof material; (c) a nozzle for extruding a “co-axial” flow that has aninner core and outer sheath of different materials; or (d) a nozzle witha mixing chamber for mixing multiple materials to form a mixture andthen to extrude the mixture.

In some implementations, the extruder extrudes functionally gradedmaterial—i.e., material that has material properties that vary as afunction of spatial position within the material.

In illustrative implementations, an object extruded during a givendeposition path has an extrusion geometry (e.g., height, width andlength) specified by a user.

In some cases, the deposition paths (that the user inputs and theextruder travels) are 3D curves. For example, in some cases, an extruderextrudes a thick paste as it travels in 3D curves, to deposit materialon a 3D curved mold.

In some cases, the extruder extrudes while moving in a 3D curve,without—during that 3D curve—completing the printing of all build pointsin the fabricated item at each of the levels intersected by the 3Dcurve. For example, in some cases: (a) at least one of the depositionpaths is a 3D curve; (b) the 3D curve includes a first point and asecond point, the second point being higher than the first point; and(c) as the extruder travels along the 3D curve, the extruder extrudesmaterial at both the first and second points, even though the extruderhas not yet completed extrusion at all build points that lie in ahorizontal plane that intersects the first point.

In some cases, the user-inputted path instructions also specify materialproperties of one or more materials to be extruded during a depositionpath. For example, in some cases, the instructions specify aconcentration for a mixture that is extruded during the deposition path.

In some cases, the user-inputted path instructions also specify one ormore system parameters of the additive manufacturing system. Forexample, in some cases, these system parameters include (i) a type ofnozzle of the extruder, (ii) nozzle speed, and (iii) temperature.

In illustrative implementations, the present invention is quitedifferent than sliced layer-by-layer deposition. In slicedlayer-by-layer deposition: (1) a user specifies a 3D virtual model ofthe object to be fabricated, and does not specify toolpaths; (2) one ormore computers slice the 3D virtual model into virtual slices, (3) oneor more computers run a program to determine toolpaths (such asrastering) for a tool depositing material to travel, and (4) one or morecomputers control deposition of material, such that material isphysically deposited layer-by-layer and each physical layer correspondsto one of the virtual slices.

Thus, in sliced layer-by-layer deposition, a user does not specifydeposition paths, instead a computer runs a program to automatically(without user participation at that stage) calculate deposition paths.In contrast, in illustrative implementations of the present invention, auser specifies deposition paths for an extruder to travel and specifies,for each of the deposition paths, one or more parameters (such asvertical or horizontal thickness) of an object to be deposited as theextruder travels the deposition path.

The description of the present invention in the Summary and Abstractsections hereof is just a summary. It is intended only to give a generalintroduction to some illustrative implementations of this invention. Itdoes not describe all of the details and variations of this invention.Likewise, the descriptions of this invention in the Field of Technologysection and Field of Endeavor section are not limiting; instead theyeach identify, in a general, non-exclusive manner, a technology to whichexemplary implementations of this invention generally relate. Likewise,the Title of this document does not limit the invention in any way;instead the Title is merely a general, non-exclusive way of referring tothis invention. This invention may be implemented in many other ways.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram of hardware components of an additivemanufacturing system.

FIGS. 1B and 1C are block diagrams of extrusion systems.

FIGS. 2A, 2B and 2C are a side view, top view and perspective view,respectively, of a robotic arm.

FIG. 3A shows an extruder, in which extrusion is actuated by electricmotors.

FIG. 3B shows an extruder, in which extrusion is actuated by pneumaticor fluidic pressure.

FIGS. 4A, 4B, 4C and 4D show different nozzle types.

FIG. 5 is a flowchart that shows steps in a method ofcomputer-controlled additive manufacturing.

FIG. 6 shows an interactive graphical user interface.

FIG. 7 shows a toolpath.

FIGS. 8A, 8B, 8C, 8D, 8E and 8F show examples of extrusion geometries.

FIG. 9 shows an additive manufacturing system that is fabricating a 3Dobject.

FIGS. 10A, 10B and 10C illustrate a fan array.

FIG. 11A shows a non-limiting example of a 3D curve. FIGS. 11B, 11C and11D show a projection of a region of the curve onto the yz, xz and xyplanes, respectively.

FIG. 12 shows an example of cross-sectional height and cross-sectionalwidth of an extruded object.

FIG. 13A and FIG. 13B are a top view and perspective view, respectively,of multiple extruded objects that adhere together to form a 3Dfabricated object.

The above Figures show some illustrative implementations of thisinvention, or provide information that relates to those implementations.However, this invention may be implemented in many other ways.

DETAILED DESCRIPTION

Additive Manufacturing System

FIG. 1A is a block diagram of hardware components of an additivemanufacturing system 100, in an illustrative implementation of thisinvention. In FIG. 1, an extruder 102 extrudes material through nozzle103, while a motion system 101 actuates movement of the extruder 102 intwo or three dimensions. The motion system 101 comprises an actuator foractuating motion of the extruder. For example, in some cases, the motionsystem 101 comprises a robotic arm, such as a robotic arm configured tomove with six degrees of freedom. Alternatively, in some cases, themotion system 101 comprises one or more motors and other hardware foractuating 2D or 3D motion (such as motors and other hardware foractuating 2D or 3D motion that are found in existing art such as CNCmills and 3D printers). For example, in some cases the hardware in themotion system 101 comprises one or more (a) motors, (b) gears, linkagesystems, or power trains, and (c) gantries. In some cases, the hardwarein motion system 101 further comprises (a) one or more moveable stages,and (b) bearings, rails, bushings, bearings or other motion guides. Oneor more power supplies 108 provide power for components of additivemanufacturing system 100. For example, in some cases, a power supply 108provides electrical power for motion system 101 and extruder 102.

The object that is being formed by extrusion rests on a substrate 105,that in turn rests on deposition platform 104. In some implementations,an actuator 106 actuates motion (e.g., vertical motion) of thedeposition platform 104. After material is extruded, a fan array 107blows air over the extruded material, in order to speed up curing ordrying of the extruded material.

One or more computers 110 control the operation of, or interface with,hardware components of additive manufacturing system 100. Among otherthings, computer 110 outputs signals to control motion system 101 andextruder 102, such that the motion system 101 moves the extruder 102 ina toolpath while the extruder 102 extrudes material at appropriatetimes.

A human user inputs instructions or other data via one or more I/Odevices (e.g., 111, 112, 114, 115, 116). In some cases, one or more ofthe I/O devices (e.g., 111, 112, 114, 115, 116) outputs information inhuman readable form, such as by displaying a graphical user interface.For example, in some cases, the I/O devices (e.g., 111, 112, 114, 115,116) include one or more of the following devices: a touch screen, otherdisplay screen, keyboard, mouse, microphone, speaker, haptic transduceror handheld controller (e.g., a controller that measures acceleration ormotion of the controller). In some cases, wireless communication modules(e.g., 117, 118) wirelessly transmit and receive data, and are connectedby wired or fiber optic communication links with other hardwarecomponents (e.g., computer 110 or I/O device 111) of the additivemanufacturing system 100. The computer 110 stores data in, and accessesdata from, an electronic memory device 115.

In some cases, after deposition, fan array 107 is moved near thedeposition platform 104. The fan array 107 then blows air over theuncured extruded material. The air currents produced by the fan increaseconvection and thus the rate of evaporation of water from the uncuredmaterial, and thus reduce the time needed for the extruded material toharden.

FIGS. 1B and 1C are block diagrams of extruders, in illustrativeimplementations of this invention.

FIG. 1B shows an example of an extruder 120 in which extrusion isactuated by fluidic or pneumatic pressure. In FIG. 1B, high-pressurefluid (e.g., air) enters reservoir 122 through hose 121, causingmaterial in the reservoir to be extruded through one or more nozzles123. One or more valves 124 regulate the pressure of fluid (e.g., air)entering reservoir 122. Closing or opening of the valve(s) 124 isactuated by one or more motors 125, which are controlled by amicrocontroller 126, which is in turn controlled by computer 110. Insome implementations, heating mechanisms 127, 128, 129, 130 heatmaterial before it is extruded, causing it to be less viscous.

FIG. 1C shows an example of an extruder 130 in which extrusion isactuated by an actuator 131 that actuates movement of one or more solidhardware components that push, pull or otherwise apply mechanicalpressure against, material and thereby cause the material to move and beextruded through one or more nozzles 132. For example, in some cases:(a) actuator 131 comprises one or more motors and one or more pumps,screws, gears, rams, or pistons; and (b) the one or more motors actuatethe one or more pumps, screws, gears, rams, or pistons and thereby causethe material to move and be extruded. Actuator 131 is controlled bymicrocontroller 134 which is in turn controlled by computer 110. In someimplementations, heating mechanisms 137, 138, 139, 140 heat materialbefore it is extruded, causing it to be less viscous. In some cases: (a)actuator 131 applies pressure to actuate movement of solid feed (such asa filament) into a chamber where the material melts or softens into aliquid; and (b) the solid feed entering the chamber applies pressureagainst the liquid, causing the liquid to be extruded though a nozzle.In some cases, a heating chamber is inside a nozzle. In the exampleshown in FIG. 1C, the extruder 130 causes material stored inreservoir(s) 133 to be extruded.

In some implementations, the extruder is a multi-material extruder. Forexample, in some cases, each of the reservoirs (122, 132) comprisesmultiple containers, each of which stores a different material. In someimplementations, the extruder includes multiple nozzles, and differentmaterials are extruded through different nozzles. In some other cases,different materials are extruded through a single nozzle simultaneously(e.g., using coaxial nozzles, such that a column of material extrudedthe nozzle has an outer layer of a first material and an inner layer ofa second material) or at different times (e.g., to extrude afunctionally graded material).

More generally, in some cases, the extruder 130 comprises any existingart extrusion system, including any existing art extrusion system thatextrudes material in any 3D printing or additive manufacturing process.

FIGS. 2A, 2B and 2C are a side view, top view and perspective view,respectively, of a robotic arm, in an illustrative implementation ofthis invention. A robotic arm 202 actuates motion of an extruder 201that is attached to an end of the robotic arm 202. The robotic armincludes one or more motors, mechanical linkages, joints, and structuralelements and one or more electronic computers (e.g., microcontrollers)for controlling motion of the robotic arm. The extruder 201 includesmultiple reservoirs (e.g., for storing multiple different materials).The extruder 201 extrudes material through a nozzle 203.

FIG. 3A shows an extrusion system 300, in which extrusion is actuated byelectric motors, in an illustrative implementation of this invention. Inthe example shown in FIG. 3A, stepper motors 306 actuate non-captivelead screws 307 that push material through a nozzle 311. The lead screws307 are kept in alignment by lead plates 308.

FIG. 3B shows an extrusion system 330, in which extrusion is actuated bypneumatic pressure, in an illustrative implementation of this invention.In the example shown in FIG. 3B, the extruder includes tubing 331,pressure regulators 339, and air fittings 340. Compressed air flows intothe extruder 330 through the tubing 331. Each of the pressure regulators339 (a) includes valves and motors that actuate the valves, and (b) isconfigured to regulate the pressure of air entering reservoirs 333. Thecompressed air exerts pressure against material in reservoirs 333,causing material to be extruded through a nozzle.

In the examples shown in FIGS. 3A and 3B, the material reservoirs (303,333) are connected to a nozzle by connectors 304. Material reservoirs(303, 333) are held in place by a mounting plate 302 that is attached toa connection plate 301. The material reservoirs (e.g., 303, 333) may befabricated from a wide variety of materials. For example, in some cases,the material reservoirs (e.g., 303, 333) comprise high-strength plastic,stainless steel or glass. The shape of the nozzle (e.g., 311) may vary.For example, the number and position of input or output orifices of anozzle, the overall shape of a nozzle, and the connectors that a nozzleis configured to attach to, may vary and are not limited to that shownin FIGS. 3A and 3B.

This invention may be implemented with a wide variety of nozzle types.For example, FIGS. 4A, 4B, 4C and 4D show examples of different nozzletypes, in illustrative implementations of this invention. Each of theseFIGS. 4A, 4B, 4C and 4D), respectively, shows a type of nozzle that isattached to the extruder. Flow of material from each reservoir (e.g.,303, 333) may be actuated separately (either simultaneously orsequentially with flow from other reservoirs) such that one or morematerials are extruded through a single nozzle at a given time (FIG.4A), are parallel-extruded (FIG. 4B), are coaxially extruded (FIG. 4C),or are mixed and then extruded (FIG. 4D).

In FIG. 4A, nozzle 401 is an example of a first type of nozzle, whichextrudes a single material at a given instant of time. FIG. 4A showsperspective, cross-sectional and top views of nozzle 401.

In FIG. 4B, nozzle 403 is an example of a second type of nozzle, whichextrudes in parallel (e.g., extrudes a first column of a first materialand simultaneously extrudes a second, parallel column of a secondmaterial). In many cases, the chamber of this second type of nozzle isshort. FIG. 4B shows perspective, cross-sectional and top views ofnozzle 403.

In FIG. 4C, nozzle 405 is an example of a third type of nozzle thatsimultaneously extrudes two different materials in a so-called“co-axial” pattern. In this “co-axial” pattern, an extruded objectincludes an inner core of a first material that is surrounded by anouter sheath of a second material. This third nozzle 405 includes adouble chamber. FIG. 4C shows perspective, cross-sectional and top viewsof nozzle 405.

In FIG. 4D, nozzle 407 is an example of a fourth type of nozzle thatmixes different materials from different reservoirs and then extrudesthe mixture. For example, in some cases a screw 435 inside the nozzlemixes the materials. The screw is either static or moving relative tothe rest of the nozzle. FIG. 4D shows perspective, cross-sectional andtop views of nozzle 407.

In the examples shown in FIGS. 4A, 4B, 4C and 4D, the length and shapeof the nozzles may vary. For example, the nozzles each have a bottominner diameter. This bottom inner diameter may vary from nozzle tonozzle, even within a single type of nozzle, as appropriate fordifferent viscosities of material extruded through the nozzle.

Extrusion According to User-Inputted Path Instructions

In illustrative implementations of this invention, a computer does notvirtually “slice” a computer model of a 3D object into virtual layers,then automatically calculate toolpaths, and then control physicaldeposition of material, such that material is deposited layer-by-layerin accordance with the virtual slices.

Instead, a user inputs path instructions. These user-inputted pathinstructions specify: (a) a set of deposition paths to be traveled by anextruder while extruding; and (b) for each of the deposition paths, oneor more parameters of an object extruded by the extruder while theextruder travels in the deposition path. For example, these parametersmay specify a height or width of an object extruded in a depositionpath.

FIG. 5 is a flowchart that shows steps in a method ofcomputer-controlled additive manufacturing, in an illustrativeimplementation of this invention. The method shown in FIG. 5 allows auser: (a) to input an deposition path and parameters that directly orindirectly control height, width or other physical characteristics of anobject extruded during the deposition path; and (b) to do so repeatedly,for each respective object in a set of objects that are extruded tofabricate a 3D object.

The method shown in FIG. 5 is an example of extrusion in accordance withuser-inputted path instructions. The method includes the followingsteps: One or more I/O devices accept user input, which input specifiesa set of deposition paths (Step 501). One or more I/O devices acceptuser input, which input specifies an extrusion geometry for eachdeposition path (Step 503). One or more I/O devices accept user input,which input selects a material property (or material properties) of oneor more materials to be physically extruded (Step 505). One or more I/Odevices accept user input, which input selects a system parameter (orsystem parameters) of the additive manufacturing system (Step 507) Oneor more computers determine an extrusion pressure or nozzle velocitythat achieves a selected extrusion geometry. When making thisdetermination, the computers take into account calibrated dataregarding: (a) material properties of the material or materials beingextruded; and (b) system parameters of the additive manufacturingsystem. (Step 509). One or more computers generate fabricationinstructions, and control signals indicative of the fabricationinstructions are transmitted to the motion system and extruder (Step511). In accordance with the fabrication instructions, the motion systemactuates movement of the extruder relative to a deposition platform, andthe extruder extrudes material at appropriate times during the movementin order to fabricate a 3D object (Step 513). After the deposition, thedeposited material hardens (Step 515). After the deposited materialhardens, the 3D object is removed from the deposition platform (Step517).

The steps shown in FIG. 5 are discussed in more detail below.

Step 501: User Selection of Toolpaths. In Step 501 of FIG. 5, one ormore I/O devices accept user input, which input specifies a set ofdeposition paths. The deposition paths may comprise any type of curves.For example, in some cases, the deposition paths comprise lines,splines, polylines, or NURBS curves in a horizontal plane or inhorizontal parallel planes. Alternatively, in some cases, the depositionpaths comprise 3D curved lines, each of which does not lie entirely in asingle plane.

The user inputs the deposition paths via one or more I/O devices, suchas one or more of a touch screen, display screen, mouse, keyboard, anddigital stylus. In many implementations, the user inputs each depositionpath by using a graphical user interface to draw the deposition path viacomputer-aided modeling or via computer-aided scripting. The depositionpath may be drawn in a variety of ways, such as such as interpolation,spline, or NURBS curve, or by moving along the entire path.Alternatively, a user inputs numeric values that represent coordinatesof two or more points along the deposition path.

In many cases, a user may input instructions for a continuous depositionpath or for a discontinuous extrusion path. For example, in someimplementations, a user inputs instructions for a discontinuousextrusion path, in which extrusion occurs in some regions of the pathand not in other regions of the path. For instance, in some cases, auser draws a straight or curved line that has spatial gaps (spatialdiscontinuities) between different segments of the line. In some cases,a user inputs instructions for a continuous deposition path, and theninputs instructions regarding how to make the path discontinuous—thatis, specifies regions in which extrusion does not occur. For instance,in some cases, a user inputs an instruction that specifies a specificregion in which extrusion does not occur, or inputs instructions for adashed line.

In some cases, a user inputs instructions for a deposition path in whichmaterial properties of the extruded object change abruptly along thepath, or in which shape (extrusion geometry) of the extruded objectchanges abruptly along the path.

In many implementations, extrusion of a 3D fabricated object does notoccur in a single continuous deposition. Instead, an extruder depositsmaterial in multiple separate deposition paths, and the extrudedmaterials then adhere to each other to form a 3D fabricated object. Inmany cases, there is a deposition path, then a non-deposition path, thena deposition path, and so on. For example, at the end of a depositionpath, an extruder may cease extruding and then move, without extruding,to the beginning of the next deposition path.

In some cases, thick paste-like materials are extruded on top ofnon-flat substrate surfaces such as 3D molds, in that case, the user maydraw virtual 3D curves on top of a virtual representation of a 3Dsubstrate.

In some cases: (a) a user specifies paths on each of multiple horizontalparallel planes; and (b) the paths that lie in each plane, respectively,correspond to a layer of the 3D object to be fabricated. Alternatively,in some cases: (a) a user specifies deposition paths on each of multiplecurved surfaces; and (b) the deposition paths that lie in each curvedsurface, respectively, correspond to a layer of the 3D object to befabricated. In both of these cases (multiple planes or multiple curvedsurfaces), deposition may physically occur in layers, similar in somerespects to sliced layer-by-layer deposition. However, there areimportant differences. Among other things, in sliced layer-by-layerdeposition: (a) a user does not select deposition paths to be traveledby an extruder; and (b) instead, a user specifies a virtual model of a3D object to be fabricated, and then a computer runs a program in thebackground that automatically slices the virtual model into virtualslices and automatically determines paths to be traveled by an additivemanufacturing device while fabricating the object. In contrast, in someillustrative implementations of this invention: (a) a user does notselect a 3D model that is then virtually sliced by a program; and (b)instead, a user specifies deposition paths in each of multiple planes ormultiple curved surfaces.

In some cases, a user initially specifies a single deposition path andthen specifies how to repeat it. Among other things, a user may select(a) a shape of a deposition path; (b) orientation of a deposition path;(c) length of a deposition path; and (d) whether and how a depositionpath is repeated in a plane or curved surface. For example, whenselecting how a deposition path is to be repeated, a user may selectpath spacing or number of deposition paths in a layer.

Alternatively, in some cases, a user specifies a group of depositionpaths and then specifies how to repeat the group. For example, in somecases, a user makes selections for a group of deposition paths (such asselecting shape, orientation, or length of the deposition paths in thegroup, or whether or how the group of deposition paths is to berepeated.)

In some implementations, end points and discontinuity points of adeposition path occur at grid points. As a user is drawing a depositionpath, the end points of the path and other points on the path that auser specifies (such as a sharp bend) may automatically snap to thenearest grid point to facilitate user drawing.

In some implementations, a user specifies only those segments of thetoolpath in which material will be deposited. In contrast, portions of atoolpath in which no deposition will occur are calculated by a computer.

In many use scenarios, the deposition paths in a single horizontal planeare spaced apart from each other and do not intersect. If depositionpaths are close enough to each other, the resulting extruded objectstouch each other (due to spreading out after deposition) and adhere toeach other, so that, after hardening, the objects together form a single3D fabricated item. Even if extruded objects do not touch each other ina particular horizontal plane, they may adhere to other extruded objectsin other horizontal planes such that all of the extruded objects adhereto form a single 3D fabricated item.

In some implementations, a user is not allowed to specify depositionpaths that intersect and that lie entirely in the same horizontal plane.In some other cases, the user is allowed to select such intersections.In some cases, a user is allowed to specify intersecting depositionpaths that lie entirely in the same horizontal plane, and the user isallowed or required to specify the order in which the intersectingdeposition paths are traversed. By specifying this order, the userthereby determines, for the objects that are extruded during theintersecting deposition paths, which object will cross over the otherobject(s).

In some implementations, a computer may, at periodic intervals duringfabrication of a 3D object, determine, for each of a set of columnregions of the 3D object: (a) a current height of the 3D object in thatcolumn region; and (b) determine a vertical height of the extruderneeded in order to vertically clear that current height.

Step 503: User Input Regarding Extrusion Geometry. In Step 503 in FIG.5, one or more I/O devices accept user input, which input specifies anextrusion geometry for each selected deposition path. Each extrusiongeometry describes a shape (such as height or width) of an extrudedobject. In some cases, the height and width are constant over the lengthof the object. In other cases, the height or width varies over thelength of the object. For example, the height or width may vary indiscrete increments or continuously, and variation may be exponential,sinusoidal or in another pattern.

In some cases, a user selects from a menu of calibrated extrusiongeometries in a database. In some cases, each extrusion geometry in themenu specifies height or width for all or a portion of an extrudedobject. The height or width of the selected geometry may be variable orconstant.

In other cases, a user specifies a particular extrusion geometry byspecifying a constant height or width for all or a portion of anextruded object, which constant height or width is in a calibrated rangeof heights or widths stored in the database. In other cases, a userspecifies a particular extrusion geometry by specifying how height orwidth varies over all or a portion of an extruded object, within acalibrated range of heights and widths stored in the database.

Later in the additive manufacturing process, different extrusiongeometries are physically effectuated by varying one or both of (a) thepressure at which material is extruded from the extruder and (b) nozzlespeed (i.e. the rate at which the extruder moves relative to thedeposition platform). Which pressure or nozzle velocity results in agiven extrusion geometry (i.e., a given height or width of an extrudedobject) depends on system parameters of the additive manufacturingsystem and on of material properties of the material or materials beingextruded from the extruder.

Step 505: User Input Regarding Material Properties. In Step 505 in FIG.5, one or more I/O devices accept user input, which input selects amaterial property (or material properties) of one or more materials tobe physically extruded (Step 505). For example, a user may selectmaterial properties that comprise one or more of the following: (a) typeof material (e.g., a particular type of hydogel); (b) a concentrationfor a mixture or solution, or (c) the concentrations of two differentsolutions to be mixed to form a solution with an intermediateconcentration (e.g., mixing a 3% concentration and a 4% concentration toachieve a 3.5% concentration). For example, in some cases, theconcentration may be mass concentration (i.e., ratio of mass of acomponent of a solution to the volume of the total solution, sometimesdenoted as w/v or w/v %). Or, for example, a user may specify materialproperties for each material extruded by a multi-material nozzle, suchas: (a) material properties of materials that comprise the core andsheath, respectively, of an object extruded by a coaxial nozzle 409; and(b) material properties of materials that comprise two parallel regionsin a single object extruded by a parallel extrusion nozzle 405. Also,for example, a user may specify how material properties vary as afunction of spatial position within extruded material. Alternatively, inStep 505, a user may specify a desired viscosity, shear modulus, ordynamic modulus, and a computer may select a material with the desiredviscosity, shear modulus, or dynamic modulus.

In many cases: (a) Step 505 is optional; and (b) if a user does notinput material properties, then default material properties areautomatically selected by a computer.

Step 507: User Input Regarding System Parameters. In Step 507 in FIG. 5,one or more I/O devices accept user input, which input selects a systemparameter (or system parameters) of the additive manufacturing systemFor example, in some cases, a user selects one or more of the following:(a) nozzle type (e.g., single material, parallel, co-axial, or mixer);(b) nozzle speed (that is, the speed of the extruder nozzle relative tothe deposition platform), within a range of calibrated nozzle speeds;and (c) temperature (in cases where the system includes one or more heatsources for controllably heating materials to be extruded), within arange of calibrated temperatures.

In many cases: (a) Step 507 is optional; and (b) if a user does notinput system parameters that are user selectable, then default systemparameters are automatically selected by a computer.

Steps 505 and 507 may occur at any time in the method set forth in FIG.5, including before Steps 501 and 503. Obviously, however, for Steps 505and 507 to affect the extrusion of a specific object, they must occurbefore the specific object is extruded.

Step 509: Computation of Pressure or Nozzle Velocity Needed to AchieveExtrusion Geometry. In Step 509 of FIG. 5, a computer determines anextrusion pressure or nozzle velocity that achieves a selected extrusiongeometry (e.g., achieves a specified vertical thickness or horizontalthickness of an extruded object. When making this determination, thecomputer takes into account calibrated data regarding: (a) materialproperties of the material or materials being extruded; and (b) systemparameters of the additive manufacturing system. For example, in somecases, the higher the viscosity of the material being extruded, theslower the nozzle velocity or the higher the pressure needed to achievea given extrusion geometry.

In some cases, Step 509 involves a computer accessing a look-up tablethat is pre-calibrated to map a selected extrusion geometry to pressureor to nozzle velocity, where the mapping depends on pre-calibratedvalues of other variables. The other variables may include (a) amaterial property (or material properties) of one or more materials tobe extruded and (b) one or more system parameters of the additivemanufacturing system. For example, the mapping (from extrusion geometryto pressure or nozzle velocity) may depend on: (a) the type of materialto be extruded, and (b) the nozzle type to be used.

In some cases, the mapping (a) maps a tuple of independent variables topressure, (b) maps a tuple of independent variables to nozzle speed(i.e., speed of an extruder nozzle relative to a deposition platform),or (c) maps a tuple of independent variables to an ordered pair ofpressure and nozzle speed. The independent variables that are used inthe mapping include: (a) a selected extrusion geometry and (b) one ormore other variables, which variables include one or more materialproperties and one or more system parameters. The data points for themapping are determined by calibration. In many cases, the calibration isdone in advance.

In illustrative implementations, the pressure or nozzle velocity towhich a given extrusion geometry is mapped are each in a range limitedby physical constraints of the additive manufacturing system. Forexample, in some cases: (a) the additive manufacturing system isdesigned to operate at pressures between 0.5 PSI and 120 PSI and atnozzle velocities between 5 mm/s and 40 mm/s; and (b) thus the databasemaps extrusion geometries only to pressures or nozzle velocities thatfall in these ranges.

Similarly, the selections that a user is allowed to input in Steps 501,503, 505 and 507 are limited by physical constraints of the additivemanufacturing system or the materials being extruded. For example, insome cases, when a user specifies deposition paths, the deposition pathsmust be in a volume that is limited by the range of physical motion ofthe extruder. Likewise, in some cases, the minimum permitted spacingbetween deposition paths that a user may select is limited by tolerances(e.g., 0.06 mm) for motion of the extruder. Similarly, in some cases,the ranges of the extrusion geometry (e.g., maximum and minimum heightand width of an extruded object) that a user may select is limited bythe range of sizes of the nozzles (e.g., 0.1 mm to 7 mm). Furthermore,in some cases, if a user has selected a particular extrusion geometry,then a user may select only nozzles that have an appropriate size—thatis, a size such that the nozzle is able to produce that extrusiongeometry. For example, in some cases, if a user has selected anextrusion geometry that specifies a small height and small width for anextruded object, then a user is not allowed to select a nozzle type thatis too large to extrude that geometry.

Step 511: Fabrication Instructions. In Step 511 in FIG. 5, one or morecomputers generate fabrication instructions, and control signalsindicative of the fabrication instructions are transmitted to the motionsystem and extruder (Step 511). The control signals may be transmittedwirelessly, by wire, or by fiber optics. The control signals causemovement and extrusion to be synchronized: as the extruder moves,extrusion occurs at appropriate times and thus at appropriate spatialpositions, such that the extruded material forms the 3D object beingfabricated.

In illustrative implementations, one or more computers calculate thefabrication instructions based at least in part on (i) deposition pathsand extrusion geometries selected by a user, and (ii) pressure or nozzlespeed for achieving a given extrusion geometry, taking into accountvalues of a set of material properties and of a set of systemparameters.

In some cases, the fabrication instructions include instructions toactuate one or more of the following motions: (i) motion of an extruderto a single target position while extruding, (ii) motion of an extruderto a sequence of target positions while extruding, (iii) motion whilenot extruding, (iv) reservoir 203 refill motions; and (v) motions thatactuate fabrication (such as extrusion) or that control position ororientation of a fabrication tool (such as an extruder).

In some cases, the fabrication instructions that control the extruderinclude one or more of the following: extrusion initial delay, extrusionfinal delay, reservoir 203 to be actuated, and instructions forpneumatic valves or electrical motors to actuate extrusion.

In illustrative implementations, one or more computers execute asoftware program in order to generate the fabrication instructions; and(b) this software program is compatible with a wide variety of motionsystems and extruders. For example, in some cases, the software programis compatible with many different systems that comprise a multi-barrelor single-barrel extruder that is attached to a positioning platformthat operates at least in 3-axis. The software program may be written inany of a wide variety of programming languages.

In illustrative implementations, the fabrication instructions (includinginstructions regarding pressure and nozzle speed) are outputted in aformat that is in (or is compatible with) a driver input language forthe drivers of the motion system and the extruder.

In some implementations, fabrication instructions are transmitted to theextruder via serial USB communication. In some cases, the extruder isattached to the motion system and includes a multi-barrel head actuatedby pneumatic or mechanical hardware and circuitry.

In some cases in which extrusion is pneumatically actuated, bits aretransmitted from a microcontroller to relay boards that control solenoidvalves connected to a vacuum pump, and a pressure regulator receives aconstant supply of airflow from an air compressor. Each valve outputspressure to a given material barrel. Pressure levels enable start andstop deposition with positive and negative pressure respectively. Thepressure regulator controls the pressure outputted by each valve, inaccordance with pressure instructions included in the fabricationinstructions. In some cases, controlled variation of pneumatic pressuredetermines different regional extrusion geometries with tunable heightsand widths along a deposition path.

In some cases, firmware (e.g., a microcontroller performing a programencoded in read-only-memory) onboard the extruder takes fabricationinstructions as an input. The firmware outputs instructions that controla digital extrusion pressure regulator (e.g., a pneumatically-actuatedor screw-actuated regulator), such that the regulator regulatesextrusion pressure at discrete time intervals. In some cases, thedigital regulator's pressure response (P) is calibrated in advance,using input values from 0 to 4000 of type 16-bit unsigned integer, thatcorrespond to 4 to 20 mA of electrical current (I). A linearinterpolation is then performed as follows; I=I0+(I1−I0)*(P−P0/P1−P0),where I is current of a control signal that is outputted by thefirmware, P is pressure outputted by the pressure regulator, I0b isminimum current, I1 is maximum current, P0 is minimum pressure, and P1is maximum pressure. Alternatively, a microcontroller controls a digitalpressure regulator by varying voltage of a signal sent to the regulator.

In some cases, fabrication instructions that control motion aretransmitted to a motion system (e.g., every 0.012 s) via an Ethernet UDPsocket, TCP socket, or serial communication. These instructions causethe motion system to actuate motion of the extruder, such that theextruder follow depositions paths made of points, lines, poly-lines orcurves, starting from a point in space. (The starting point is sometimescalled home). The fabrication instructions may, among other things: (a)specify one or more target points in a toolpath; (b) provide aninstruction to stop or specify how long to remain stopped at a point;(c) specify a speed of motion; and (d) include an instruction for areservoir refill motion. In addition, in some cases, fabricationinstructions for the motion system specify one or more of the following:position of the extruder at each interval of time (e.g., once every0.012 s), extruder position angle, extrusion geometry, minimum andmaximum voltage (mapped to extrusion pressure), and time dedicated toextrusion at crucial path points.

In some cases, firmware (e.g., a microcontroller that is onboard amotion system and that is performing a program encoded inread-only-memory) takes fabrication instructions as an input, andoutputs instructions that control motors in the motion system, whichmotors actuate robotic arm joints, or computer numerical controlgantries, or vertical movement of a deposition platform.

In some cases, the fabrication instructions comprise time and flowmapping instructions that transform simple curve primitives into 3Dextrusion shapes with variable height and width along deposition paths.

In illustrative implementations, the fabrication instructions include“point-to-point” instructions that specify state(s) of the motion systemand extruder at points along one or more extrusion trajectories.

In illustrative implementations, the fabrication instructions aretransmitted to the motion system and extruder directly and seamlessly,without using a conventional intermediary software program (such asgcode or a slicer program) that slices a 3D computer model (such as anSTL file) or translates it into instructions for the extruder or motionsystem. In alternative implementations, a conventional intermediarysoftware program (such as gcode) is used.

Step 513: Deposition. In Step 513 in FIG. 5, in accordance with thefabrication instructions, the motion system actuates movement of theextruder relative to a deposition platform, and the extruder extrudesmaterial at certain times during the movement in order to fabricate a 3Dobject (Step 515).

One or more reservoirs (e.g., 122, 123, 303, 333) in the extrudercontain material. During the deposition sequence, this material isextruded through one or more nozzles (e.g., 103, 123, 132, 203 or 311)of the extruder.

In some cases, materials from multiple reservoirs are mixed in a mixingchamber of the extruder. The rate of flow (into the mixing chamber) ofeach material to be mixed together is separately controlled, in such amanner as to control the concentration of the resulting mixture. In somecases, a mixing chamber is positioned in a nozzle. In some cases, adynamically-actuated mixing chamber in the extruder mixes two or morematerials from reservoirs. In some cases, flow of material from thereservoirs is actuated, such that different materials from differentreservoirs are mixed together as they flow past a static mixing screw inthe mixing chamber.

A wide variety of materials may be extruded. For example, in some cases,the extruded material or extruded materials comprise one or more of thefollowing: viscous water-based solutions or colloids, such as chitosan,sodium alginate, and polyvinyl alcohol, or other hydro-gels, organicresins or natural composites. In some cases, water-based materials arestored in air-tight extruder containers at room temperature, cure atroom temperature by natural evaporation once out of the extruder, andcomprise base matrixes of hydro-gels, organic resins, polyvinylalcohols, clay, plaster, or concrete combined with granular or fibrousfiller materials. Alternatively, the material or materials that areextruded may comprise non-water-based gels and pastes that may beextruded at room temperature and then later cure.

In some cases, a fluid is extruded, and the dynamic viscosity of thefluid at the time of extrusion ranges from 5000 cP to 250,000 cP at roomtemperature. For example, in some cases the mass concentration of anextruded solution is in a range between 0.01 to 0.12.

In some implementations, one or more of the materials that are extrudedare not fluid at room temperature, such as polylactic acid (PLA),polycarbonate (PC), acrylonitrile butadiene styrene (ABS), or nylon.Heating mechanisms (e.g., 127, 128, 129, 130, 137, 138, 139, 140) may bepositioned in or adjacent to a nozzle to controllably modify theviscosity of such materials as they are extruded. For example, in somecases, the heating mechanisms (e.g., 127, 128, 129, 130, 137, 138, 139,140) comprise resistive heating elements, induction heaters or Peltierheaters.

For example, in some implementations, the extruder is configured forfused deposition modeling (FDM), and includes a heated nozzle and amaterial feed to extrude thermoplastics used in FDM such as PLA or ABS.The extruder may include a heated nozzle and a material feed to extrudethermoplastics used in fused deposition modeling (FDM) such aspoly-lactic acid (PLA), acrylonitrile butadiene styrene (ABS), nylonetc.

Step 515: Hardening. In Step 515 in FIG. 5, after the depositionsequence, the deposited material hardens.

In some cases where water-based materials are extruded, the materialsharden in less than 24 hours, as water evaporates from the materials.The evaporation of water (and hardening of the deposited material) maybe accelerated by increasing convection. For example, in some cases, anarray of computer-controlled fans blows air over the deposited materialin order to increase convection and decrease the time needed forevaporation. In some cases, a fan array (a) is as wide as the depositionplatform onto which the extruded 3D object was extruded, and (b) ispositioned, while it blows air over the extruded object, at a distanceof about 50 cm from the deposition platform. In some cases, each fan inthe array is connected to a microcontroller output signal pin that iscontrolled by computer for selective actuation of that fan.Alternatively, all fans may be connected to the same power supplycontroller, in order actuate all of the fans simultaneously. Selectiveactuation of fans in the fan array (i.e., actuation of some but not allof the fans) causes different portions of the 3D object being fabricatedto harden at different rates. An advantage of selective actuation of thefans is that, in some cases, it prevents dehydration or excessivewetness that may otherwise weaken the 3D object.

In some cases, the 3D object is left to harden (e.g., overnight) withoutassistive convection of a fan array.

In some alternative implementations (e.g., implementations involvingFDM), a heated soft thermoplastic is extruded and cures (hardens) as thethermoplastic cools.

Step 517: Removal from Deposition Platform. In Step 517 in FIG. 5, afterthe 3D object hardens, it is removed from the deposition platform.

FIG. 6 shows an interactive user interface, in an illustrativeimplementation of this invention. The interface 600 is displayed on anelectronic display screen 603 controlled by a computer 605 withelectronic memory 607. In order to interact with the interface, a userprovides input via a mouse 609 and keyboard 611. Alternatively, screen603 is a touch screen and a user may provide input by touching thescreen.

In the example shown in FIG. 6, the screen 603 displays a set of icons.The set includes an icon for each of the following: (a) a 3D virtualmodel of the object to be fabricated 621; (b) a deposition pathrepresentation 623; (c) how the construct would appear in un-cured state625; (d) the anticipated final result of the print once the depositedmaterials hardens 627; (e) status of motion system, including position,nozzle speed, and a display of the toolpath being followed, includingpast and future positions in the toolpath 629; (f) status of extruder,including extrusion pressure and whether extrusion is currentlyoccurring 631; (g) storage containers and material supplies, includingthe amount and type of materials in containers in the extruder,remaining operating time before a refill is needed, and refill movements633; and (h) status of communications, such as communications between acomputer and the motion system and communications between a computer andthe extruder 635. If a user selects one of the icons, then the screendisplays information about the subject matter to which that iconrelates.

Among other things, if a user selects the icon regarding pathrepresentation 623, the screen shows an interactive display for drawingdeposition paths.

FIG. 7 shows a toolpath, in an illustrative implementation of thisinvention. The toolpath starts at point 701 and ends at point 717. Thetoolpath includes two portions (a first deposition path from point 703to point 705, and a second deposition path from point 713 to point 715)during which the extruder extrudes material. The toolpath includes threeother portions (non-deposition paths from point 701 to 703, from point705 to point 713, and from point 715 to point 717, respectively) duringwhich the extruder does not extrude material.

The motion system's home 701 is the three-dimensional point at which aninstruction set starts. From there, the motion system actuates amovement 702 of the extruder to the first extrusion start point 703. Atstart point 703, both an extrusion system instruction and a staticinstruction are sent to the extrusion system 101 and to the motionsystem 102, respectively. The extrusion instruction encodes time-relateddata as well as minimum and maximum extrusion force data. Thetime-related data in the extrusion instruction may include the hardwareresponse time, the time it takes for the material to start extruding,the time it takes for special path ends (such as at points 810 and 811in FIG. 8A) to be extruded, and the time it takes to extrude along thepath. The static instruction encodes the number of cycles for the motionsystem 102 to stay in place and takes into account from the extrusioninstruction, the hardware response time, the time it takes for thematerial to start extruding, and the time it takes for special path endsto be extruded.

Then instructions are sent for a movement 702 of the extruder from point703 to point 704, and then another instruction is sent for a movement702 from point 704 to point 705. At target 705 (which is the endpoint ofthe first deposition path in which extrusion occurs), another staticinstruction is sent to the motion system 102 encoding the number ofcycles for the motion system 102 to stay in place while the extrusionsystem 101 takes action to finalize the extrusion.

After the first deposition path is completed, another 702 motioninstruction is sent to move the extruder to point 706. Then theextrusion system 101 checks for material refill needs and, if needed,the motion system executes a material refill motion 707 to a refillthree-dimensional point 708 away from the deposited materials. At therefill point 708, materials are provided to the extrusion system 101.Then the motion system actuates more motions 702 to take the extruder tostart point 713 of the second deposition path.

In some cases, instructions for movement include data specifying thetotal length of a deposition path and specifying one or more targets (atarget being a point on the deposition path). This ensures continuity ofextrusion no matter the complexity of the deposition path.

FIGS. 8A to 8F show examples of extrusion geometries, in an illustrativeimplementation of this invention. In FIGS. 8B, 8D and 8F, the dashedlines represent the deposition path traveled by the center of a nozzleof the extruder.

FIGS. 8A and 8B are a side view and a top view of a first extrudedobject. The first object is extruded during a single continuousextrusion. FIG. 8A shows that the first object has a constant heightfrom point 810 to point 811. FIG. 8B shows that the first object has avariable width. As shown in FIG. 8B, the first object is wider at points810 and 811 than at point 814. Thus, the width of the first objectvaries over the length of the first extruded object.

FIGS. 8C and 8D are a side view and a top view of a second extrudedobject. The second object is extruded during a single continuousextrusion. FIG. 8C shows that the second object has a variable height:the height increases from point 821 to point 823. FIG. 8D shows that thesecond object has a variable width: the width increases from point 821to point 823. Thus, both the height and width of the second objectvaries over the length of the second object.

FIGS. 8E and 8F are a side view and a top view of a third extrudedobject. The third object is extruded during a single continuousextrusion. FIG. 8E shows that the third object has a constant heightfrom point 831 to point 835. FIG. 8F shows that the third object has avariable width. As shown in FIG. 8F, the third object is wider at points833 and 837 than at points 831, 835 and 839. Thus, the width of thethird object varies over the length of the third object.

In illustrative implementations, increasing extrusion pressure tends toincrease the rate of material flow through the extruder nozzle, and thustends to increase the amount of material extruded in a given region ofthe toolpath, and thus (if the extruded material is sufficientlyviscous) tends to increase both the height and width of the extrudedobject in that region.

Similarly, decreasing the nozzle speed tends to increase the amount oftime that the extruder spends over a given region of the toolpath, andthus tends to increase the amount of material extruded in the region andthus (if the extruded material is sufficiently viscous) tends toincrease both the height and width of the extruded object in thatregion.

The maximum height of an extruded object depends on, among other things,the viscosity of the material when extruded. The lower the viscosity,the lower the maximum possible height of a single extruded object.

Thus, in some cases (such as shown in FIGS. 8A, 8B, 8E and 8F), if theextruded material is less viscous, then increasing extrusion pressure ordecreasing nozzle speed in a region of a toolpath tends to cause theextruded object to be wider in that region but not to be higher. Theincreased pressure or decreased speed increases the amount of materialdeposited in the region. Because of the lower viscosity, however, theadditional material does not make the extruded object higher in theregion, but instead makes the object wider in the region as the materialspreads out.

In some implementations (e.g., FIGS. 8A-8F), vertical or horizontalthickness of an extruded object varies within a single extruded object.In some implementations, vertical or horizontal thickness of extrudedobjects (which objects adhere to each other to form a 3D fabricatedarticle) vary from extruded object to extruded object. In someimplementations, a user inputs an extrusion geometry, including avertical or horizontal thickness of the extruded object. In someimplementations, user-specified path instructions specify an extrusiongeometry, including a vertical or horizontal thickness of the extrudedobject.

FIG. 9 shows an additive manufacturing system fabricating a 3D object,in an illustrative implementation of this invention. In the exampleshown in FIG. 9, a motion system 202 moves an extruder 201 in threespatial dimensions 901. The extruder deposits multiple materials on topof a substrate 902 generating a functionally graded structure 903,depicted as a series of different thickness curves. The differentiationof the structure may be achieved by varying the properties of themultiple materials extruded, by varying the amount of material layers,or by extruding different geometries in height and width. The extruderdeposits material such that material properties of the depositedmaterial varies, as a function of spatial position within the depositedmaterial, either continuously, discontinuously or discretely.

FIGS. 10A, 10B and 10C illustrate a fan array. FIG. 10A shows a singlefan unit 1000 in the fan array. The fan unit 1000 includes fan blades1001, and a structure 1002 that houses a motor to actuate the fan blades1001. Each fan unit has a wired link 1003 to a power source, a wiredcommunications link 1004 to one or more other devices, and a ground wire1005. FIG. 10B shows a top view of fan array 1010. This fan array 1010comprises multiple fan units, including fan unit 1000. In FIG. 10C,extrusion is complete, and uncured extruded material 1003 is resting ona substrate 1007. In order to speed evaporation of water from theextruded material 1003, fan array 1010 has been moved over the uncuredextruded material. The air currents produced by the fan array increaseconvection and thus the evaporation rate. Fan array 1010 is held up bysupport structure 1015.

FIG. 11A shows an example of a 3D curve 1101. The 3D curve 1101 includesregion 1103 between points 1120 and 1121. FIG. 11B shows an orthographicprojection 1105 of region 1103 onto the yz plane. FIG. 11C shows anorthographic projection 1107 of region 1103 onto the xz plane. FIG. 11Dshows an orthographic projection 1109 of region 1103 onto the xy plane.In the example shown in FIGS. 11B, 11C and 11D, the projections 1105,1107 and 1109 are curved.

FIG. 12 shows an example of cross-sectional height and cross-sectionalwidth of an extruded object. In FIG. 12, the cross-sectional height ofextruded object 1200 at point 1201 is the length of vertical linesegment 1202. In FIG. 12, the cross-sectional width of extruded object1200 at Point A (1201) is the length of horizontal line segment 1203.Vertical line segment 1202 has endpoints at 1205 and 1206. Horizontalline segment 1203 has endpoints at 1207 and 1208. In FIG. 12, verticalline segment 1202 is the longest line segment with both endpoints incross-sectional region 1209; and horizontal line segment 1203 is thelongest line segment with both endpoints in cross-sectional region 1209.In FIG. 12, cross-sectional region 1209 is the intersection of avertical plane 1210 and the extruded object 1200. Extrusion point 1212is a point on the deposition path 1215 and is where the extruder waspositioned when extruding the material now located at point A (1201).Curve 1224 is the orthographic projection of deposition path 1214 ontohorizontal plane 1220. Point 1222 is the orthographic projection ofextrusion point 1212 unto horizontal plane 1220. Line 1225 is tangent tocurve 1224 at point 1222. The intersection of the horizontal plane 1220and vertical plane 1210 lies in line 1227. Vertical plane 1210 isperpendicular to line 1224. Angles 1231 and 1233 are each 90 degreeangles. Angle 1231 is the angle between vertical plane 1210 andhorizontal plane 1220. Angle 1223 is the angle between line 1225 andline 1227.

In some implementations (e.g., FIGS. 8A-8F), cross-sectional height orcross-sectional width of an extruded object varies within a singleextruded object. In some implementations, cross-sectional height orcross-sectional width of extruded objects (which objects adhere to eachother to form a 3D fabricated article) vary from extruded object toextruded object. In some implementations, a user inputs an extrusiongeometry, including a cross-sectional height or a cross-sectional widthof the extruded object. In some implementations, user-specified pathinstructions specify an extrusion geometry, including a cross-sectionalheight or a cross-sectional width of the extruded object.

FIG. 13A and FIG. 13B are a top view and perspective view, respectively,of multiple extruded objects that adhere together to form a 3Dfabricated object, in an illustrative implementation of this invention.Three extruded objects 1301, 1302, 1303 were extruded in threedeposition paths, one object per path. In the example shown in FIGS. 13Aand 13B: (a) extruded object 1301 was extruded only while the extruderwas moving in a first deposition path; (b) extruded object 1302 wasextruded only while the extruder was moving in a second deposition path;and (c) extruded object 1303 was extruded only while the extruder wasmoving in a third deposition path (the first, second and thirddeposition paths being different from each other and not intersecting).After being extruded, extruded objects 1301, 1302, 1303 adhered to eachother. Specifically, object 1301 adhered to object 1302; and object 1302adhered to object 1303, such that the three objects together formed anintegral (unitary) 3D fabricated object 1300.

Applications

In illustrative implementations, this invention may be used for additivemanufacturing of functionally graded objects or systems such as: medicalbandages, lightweight containers, packaging elements, human exoskeletonsystems, facade panels, large architectural parts, and biodegradablelife support environments. For example, the functionally graded objectsproduced by the additive manufacturing may have material properties thatspatially vary to transition from compression-bearing to tensile-bearingareas, opaque to transparent areas, lightweight to heavy areas orbrittle to ductile areas.

Field of Endeavor and Problem Faced by the Inventors

A field of endeavor of this invention is extrusion along user-specifiedtoolpaths.

The inventors were faced by a problem: The problem is how to performadditive manufacturing by extrusion, without using sliced layer-by-layerdeposition. (The inventors did not want sliced layer-by-layerdeposition, due to its disadvantages.)

In sliced layer-by-layer deposition, one or more computers virtually“slice” a computer model of a 3D object and then control deposition ofmaterial, such that material is physically deposited layer-by-layer andeach physical layer corresponds to a virtual slice.

Sliced layer-by-layer deposition has numerous disadvantages. Among otherthings, it typically results in structural weakness. Furthermore, slicedlayer-by-layer deposition does not facilitate an extruder performing asingle continuous extrusion while the extruder moves in a 3D curve thatdoes not include all of the build points of the fabricated 3D item.

The inventors solved this problem (of how to perform additivemanufacturing by extrusion, without using sliced layer-by-layerdeposition) in the manner set forth in the following two paragraphs:

In illustrative implementations of this invention, a computer does notvirtually “slice” a computer model of a 3D object into virtual layers,then automatically calculate toolpaths, and then control physicaldeposition of material, such that material is deposited layer-by-layerin accordance with the virtual slices.

Instead, a user inputs path instructions. These user-inputted pathinstructions specify: (a) a set of deposition paths to be traveled by anextruder while extruding; and (b) for each of the deposition paths, oneor more parameters of an object extruded by the extruder while theextruder travels in the deposition path. For example, these parametersmay specify the height or width of an object extruded in a depositionpath.

This approach (of extrusion in accordance with user-inputted pathinstructions) has at least four practical benefits, in illustrativeimplementations of this invention:

First, in many cases, this approach increases structural strength.Specifically, in many cases using this approach, a set of extrudedobjects adhere to each other (or partially fuse with each other) andharden, forming a 3D fabricated object that is stronger than would beachieved by conventional layer-by-layer 3D printing of the same objectwith the same materials. Without being limited by theory, the increasedstructural strength of the 3D fabricated objects appears to be due, inmany cases, to the fact that: (a) each extruded object in the setcomprises a single integral component, (b) polymer molecules in each ofextruded object tend to align with each other along the direction ofprint; and (c) the extruded objects are aligned to strengthen the 3Dobject in regions and directions where stress and strain is greatest onthe 3D object.

Second, in this approach, an extruder may travel in a curved depositionpath while continuously extruding a single extruded object such that thecenterline of the object, after being deposited, forms a 3D curve. Forexample, in some cases, the extruder travels in a 3D curve whileextruding a thick, paste-like material over a 3D curved mold. Thus, theextruder may, while continuously extruding material over a 3D curvedpath, move vertically from a first height to a second height and then toa third height, without first completely printing a layer at the firstheight and then completely printing a layer at the second height. Ofcourse, this is not done in conventional sliced layer-by-layerdeposition.

Third, in this approach (of extrusion in accordance with user-inputtedpath instructions), physical parameters (such as height, width,hardness, color, and type of material) of an extruded object arecontrollable and may vary from one spatial position to another. Thus,this approach may be used to fabricate functionally graded materials.The variation in material properties may be continuous or may occur indiscrete steps.

Fourth, this approach (of extrusion in accordance with user-inputtedpath instructions) facilitates an intuitive user experience forcontrolling additive fabrication, in cases where the 3D object to befabricated is conveniently described by a human user as a set ofdeposition paths and by physical parameters of extruded objects alongthe paths. In contrast, in conventional sliced layer-by-layerdeposition: (1) a user specifies a 3D virtual model of the object to befabricated, rather than specifying toolpaths; (2) then a computer“slices” the 3D virtual model into virtual slices, and (3) then thecomputer runs a program in the background to automatically (without userinvolvement at that stage) determine a toolpath (such as rastering) foran extruder to travel.

Computers

In exemplary implementations of this invention, one or more electroniccomputers (e.g. 110, 126, 134, 605) are programmed and speciallyadapted: (1) to control the operation of, or interface with, hardwarecomponents of an additive manufacturing apparatus, including a motionsystem, an extruder, and user interface hardware; (2) to calculateextrusion pressure or nozzle speed for achieving a given extrusiongeometry; (3) to generate fabrication instructions based, at least inpart, on user-inputted path (or tool) instructions and on pressure ornozzle speed; (4) to control or interface with hardware for displaying auser interface and for receiving user input; (5) to receive signalsindicative of human input, including input specifying deposition paths,extrusion geometries, material properties and system parameters; (6) tooutput signals for controlling transducers for outputting information inhuman perceivable format; and (7) to process data, to performcomputations, to execute any algorithm or software, and to control theread or write of data to and from memory devices. The one or morecomputers may be in any position or positions within or outside of theadditive manufacturing system. For example, in some cases (a) at leastone computer is housed in or together with other components of theadditive manufacturing system, such as a motion system or an extruder,and (b) at least one computer is remote from other components of theadditive manufacturing system. The one or more computers are connectedto each other or to other components in the additive manufacturingsystem either: (a) wirelessly, (b) by wired connection, (c) byfiber-optic link, or (d) by a combination of wired, wireless or fiberoptic links.

In exemplary implementations, one or more computers are programmed toperform any and all calculations, computations, programs, algorithms,computer functions and computer tasks described or implied above. Forexample, in some cases: (a) a machine-accessible medium has instructionsencoded thereon that specify steps in a software program; and (b) thecomputer accesses the instructions encoded on the machine-accessiblemedium, in order to determine steps to execute in the program. Inexemplary implementations, the machine-accessible medium comprises atangible non-transitory medium. In some cases, the machine-accessiblemedium comprises (a) a memory unit or (b) an auxiliary memory storagedevice. For example, in some cases, a control unit in a computer fetchesthe instructions from memory.

In illustrative implementations, one or more computers execute programsaccording to instructions encoded in one or more tangible,non-transitory, computer-readable media. For example, in some cases,these instructions comprise instructions for a computer to perform anycalculation, computation, program, algorithm, computer function orcomputer task described or implied above. For example, in some cases,instructions encoded in a tangible, non-transitory, computer-accessiblemedium comprise instructions for a computer to: (1) to control theoperation of, or interface with, hardware components of an additivemanufacturing apparatus, including a motion system, an extruder, anduser interface hardware; (2) to calculate extrusion pressure or nozzlespeed for achieving a given extrusion geometry; (3) to generatefabrication instructions based, at least in part, on user-inputted path(or tool) instructions and on pressure or nozzle speed; (4) to controlor interface with hardware for displaying a user interface and forreceiving user input; (5) to receive signals indicative of human input,including input specifying deposition paths, extrusion geometries,material properties and system parameters; (6) to output signals forcontrolling transducers for outputting information in human perceivableformat; and (7) to process data, to perform computations, to execute anyalgorithm or software, and to control the read or write of data to andfrom memory devices.

Network Communication

In illustrative implementations of this invention, an electronic device(e.g., 110, 111, 112, 113, 114, 115, 116, 126, 134, 605) is configuredfor wireless or wired communication with other electronic devices in anetwork.

For example, in some cases, a computer 110 and I/O device 111 eachinclude (or interface with) a wireless communication module for wirelesscommunication with other electronic devices in a network. Each wirelesscommunication module (e.g, 117, 118) includes (a) one or more antennas,(b) one or more wireless transceivers, transmitters or receivers, and(c) signal processing circuitry. The wireless communication modulereceives and transmits data in accordance with one or more wirelessstandards.

In some cases, one or more of the following hardware components are usedfor network communication: a computer bus, a computer port, networkconnection, network interface device, host adapter, wireless module,wireless card, signal processor, modem, router, computer port, cables orwiring.

In some cases, one or more computers (e.g., 110, 126, 134, 605) areprogrammed for communication over a network. For example, in some cases,one or more computers are programmed for network communication: (a) inaccordance with the Internet Protocol Suite, or (b) in accordance withany other industry standard for communication, including any USBstandard, ethernet standard (e.g., IEEE 802.3), token ring standard(e.g., IEEE 802.5), wireless standard (including IEEE 802.11 (wi-fi),IEEE 802.15 (bluetooth/zigbee), IEEE 802.16, IEEE 802.20 and includingany mobile phone standard, including GSM (global system for mobilecommunications), UMTS (universal mobile telecommunication system), CDMA(code division multiple access, including IS-95, IS-2000, and WCDMA), orLTS (long term evolution)), or other IEEE communication standard.

I/O Devices

In illustrative implementations, an additive manufacturing systemincludes, or interfaces with, I/O devices (e.g., 111, 112, 114, 115,116, 609, 611). For example, in some cases, the I/O devices comprise oneor more of the following: touch screens, cameras, microphones, speakers,accelerometers, gyroscopes, magnetometers, inertial measurement units,pressure sensors, touch sensors, capacitive sensors, buttons, dials,sliders, transducers (e.g., haptic transducers), graphical userinterfaces, electronic display screens, and projectors.

In illustrative implementations, a human inputs data or instructions viaone or more I/O devices. One or more computers output data orinstructions via one or more I/O devices.

Actuators

In illustrative implementations, the additive manufacturing systemincludes actuators. For example, in some cases: (a) one or moreactuators in a motion system move the extruder; and (B) one or moreactuators in an extruder actuate one or more screws, gears, rams orpistons that cause material to be extruded through a nozzle.

In illustrative implementations, each actuator (including each actuatorfor actuating any movement) is any kind of actuator, including a linear,rotary, electrical, piezoelectric, electro-active polymer, mechanical orelectro-mechanical actuator. In some cases, the actuator includes and ispowered by an electrical motor, including any stepper motor orservomotor. In some cases, the actuator includes a gear assembly, drivetrain, pivot, joint, rod, arm, or other component for transmittingmotion. In some cases, one or more sensors are used to detect position,displacement or other data for feedback to one of more of the actuators.

Definitions

The terms “a” and “an”, when modifying a noun, do not imply that onlyone of the noun exists.

To say that a process is “in accordance with” instructions means thatsignals encoding or derived from the instructions are used to controlhardware performing the process. To say that a process is “in accordancewith” instructions does not mean that actual performance must exactlymatch specifications in the instructions. For example, hardwareoperating within tolerances may perform in a manner that does notexactly match the specifications.

“Additive fabrication” of an object means fabrication of the object,such that mass or volume of the object is greater immediately after thefabrication than immediately before the fabrication.

A non-limiting example of two objects “adhering” to each other is wheretwo objects partially or wholly fuse together.

To compute “based on” specified data means to perform a computation thattakes the specified data as an input.

A “build point” of a 3D fabricated article means a point in the articleat which the article is solid when fabrication of the article iscomplete.

A “centerline” may be curved or straight. For example, if a garden hosehas been bent into a curved shape, then the centerline of the hose iscurved.

The term “comprise” (and grammatical variations thereof) shall beconstrued as if followed by “without limitation”. If A comprises B, thenA includes B and may include other things.

The term “computer” includes any computational device that performslogical and arithmetic operations. For example, in some cases, a“computer” comprises an electronic computational device, such as anintegrated circuit, a microprocessor, a mobile computing device, alaptop computer, a tablet computer, a personal computer, or a mainframecomputer. In some cases, a “computer” comprises: (a) a centralprocessing unit, (b) an ALU (arithmetic logic unit), (c) a memory unit,and (d) a control unit that controls actions of other components of thecomputer so that encoded steps of a program are executed in a sequence.In some cases, a “computer” also includes peripheral units including anauxiliary memory storage device (e.g., a disk drive or flash memory), orincludes signal processing circuitry. However, a human is not a“computer”, as that term is used herein.

“Concentration” means (a) mass concentration, molar concentration,volume concentration, mass fraction, molar fraction or volume fraction,or (b) a ratio of the mass or volume of one component in a mixture orsolution to the mass or volume of another component in the mixture orsolution

X “corresponds to” Y if the position of the components of X relative toeach other is the same (except for scaling, if any) as the position ofthe components of Y relative to each other. For purposes of thepreceding sentence: (a) if X is a virtual model, then the position of agiven component of X is the position of the given component as indicatedby data in the virtual model; and likewise (b) if Y is a virtual model,then the position of a specific component of Y is the position of thespecific component as indicated by data in the virtual model.

“Cross-sectional height” of an extruded object, at a specific point(Point A) in the extruded object, means the length of the longestvertical line that has two endpoints in a cross-sectional region.Likewise, “cross-sectional width” of an extruded object, at a specificpoint (Point A) in the extruded object, means the length of the longesthorizontal line that has two endpoints in a cross-sectional region. Forpurposes of the preceding two sentences, the cross-sectional region isdetermined as follows: Locate the point (the “extrusion point”) in thedeposition path where the extruder was positioned when extrudingmaterial onto Point A. Curve A is an orthographic projection of thedeposition path onto a horizontal plane H. Point B is a point on Curve Aand is the orthographic projection of the extrusion point ontohorizontal plane H. Line B is a line in horizontal plane H that istangent to Curve A at Point B. (However, if a tangent to Curve A doesnot exist at Point B, then Line B is the line in Plane B that is tangentto the deposition curve at the nearest preceding point in Curve A wherea tangent to Curve A does exist. A “preceding” point means anorthographic projection onto horizontal plane H of a point in thedeposition path that the extruder reached before arriving at theextrusion point.) Determine the vertical plane that is perpendicular toLine B. The cross-sectional region is the intersection of the extrudedobject and the vertical plane. For a fabricated object that is not anextruded object, the “cross-sectional height” and “cross-sectionalwidth” of the fabricated object are defined as above, except that: (a)extruded object is replaced by fabricated object; (b) extrusion isreplaced by fabrication; (c) deposition path is replaced by fabricationpath; and (d) extrusion point is replaced by a point in the fabricationpath where the fabrication for Point A occurred.

To “cure” means to harden.

“Defined Term” means a term or phrase that is set forth in quotationmarks in this Definitions section.

“Deposition path” means a straight or curved segment of a toolpath, inwhich segment an extruder travels while depositing material.

For an event to occur “during” a time period, it is not necessary thatthe event occur throughout the entire time period. For example, an eventthat occurs during only a portion of a given time period occurs “during”the given time period.

The term “e.g.” means for example.

The fact that an “example” or multiple examples of something are givendoes not imply that they are the only instances of that thing. Anexample (or a group of examples) is merely a non-exhaustive andnon-limiting illustration.

The term “extrude” means to force material through an orifice. Here aretwo non-limiting examples of “extrusion”: (a) forcing a soft paste orother non-Newtonian fluid through a nozzle; and (b) ejecting ink from aninkjet printhead.

“Extruder” means an apparatus that extrudes material.

“Extruder speed” means speed of an extruder relative to a depositionplatform that bears weight of material extruded by the extruder.

“Fabrication path” means a path that a tool travels along whileperforming fabrication, which path is a straight or curved segment of atoolpath.

Unless the context clearly indicates otherwise: (1) a phrase thatincludes “a first” thing and “a second” thing does not imply an order ofthe two things (or that there are only two of the things); and (2) sucha phrase is simply a way of identifying the two things, respectively, sothat they each may be referred to later with specificity (e.g., byreferring to “the first” thing and “the second” thing later). Forexample, unless the context clearly indicates otherwise, if an equationhas a first term and a second term, then the equation may (or may not)have more than two terms, and the first term may occur before or afterthe second term in the equation. A phrase that includes a “third” thing,a “fourth” thing and so on shall be construed in like manner.

“Fluid” means a gas or a liquid.

“For instance” means for example.

“Herein” means in this document, including text, specification, claims,abstract, and drawings.

As used herein: (1) “implementation” means an implementation of thisinvention; (2) “embodiment” means an embodiment of this invention; (3)“case” means an implementation of this invention; and (4) “use scenario”means a use scenario of this invention.

The term “include” (and grammatical variations thereof) shall beconstrued as if followed by “without limitation”.

A non-limiting example of input from a human user is data orinstructions that the user inputs through an I/O device.

To say that an object is “integral” means that the object is a unitarystructure, such that each point in the structure may be connected toeach other point in the structure by a curved or straight line that isentirely within the structure. An object may be “integral”, even if itsmaterial properties vary within the object.

“I/O device” means an input/output device. Non-limiting examples of anI/O device include any device for (a) receiving input from a human user,(b) providing output to a human user, or (c) both. Non-limiting examplesof an I/O device also include a touch screen, other electronic displayscreen, keyboard, mouse, microphone, handheld electronic gamecontroller, digital stylus, display screen, speaker, or projector forprojecting a visual display.

“Motion system” means an actuator for actuating motion. A non-limitingexample of a motion system is a robotic arm that actuates motion of apayload attached to the robotic arm.

“Non-deposition path” means a straight or curved segment of a toolpath,in which segment an extruder travels but does not deposit material.

“Non-fabrication path” means a path that a tool travels along withoutperforming fabrication, which path is a straight or curved segment of atoolpath, and (ii) is a path.

“Nozzle” means an apparatus that has an orifice through which materialis forced. As used herein: (a) the term “nozzle” does not imply anyshape of the apparatus; and (b) the term “nozzle” has no implicationregarding whether the nozzle is configured to accelerate material as itapproaches or passes through the orifice.

“Nozzle speed” means speed of a nozzle relative to a deposition platformthat bears weight of material extruded by the nozzle.

The term “or” is inclusive, not exclusive. For example A or B is true ifA is true, or B is true, or both A or B are true. Also, for example, acalculation of A or B means a calculation of A, or a calculation of B,or a calculation of A and B.

As used herein, “parameter” means a variable. For example: (a) ify=f(x), then both x and y are parameters; and (b) if z=f(x(t), y(t)),then t, x, y and z are parameters. A parameter may represent a physicalquantity, such as pressure, temperature, or delay time.

A parenthesis is simply to make text easier to read, by indicating agrouping of words. A parenthesis does not mean that the parentheticalmaterial is optional or may be ignored.

An example of “selecting” is specifying.

As used herein, the term “set” does not include a group with noelements. Mentioning a first set and a second set does not, in and ofitself, create any implication regarding whether or not the first andsecond sets overlap (that is, intersect).

“Sliced layer-by-layer deposition” means deposition in which: (1) a userspecifies a 3D virtual model of the object to be fabricated, and doesnot specify toolpaths; (2) one or more computers slice the 3D virtualmodel into virtual slices, (3) one or more computers run a program todetermine a toolpath (such as rastering) for a tool depositing materialto travel, and (4) one or more computers control deposition of material,such that material is physically deposited layer-by-layer and eachphysical layer corresponds to one of the virtual slices.

“Some” means one or more.

To “specify” a parameter means to specify a value of the parameter. Forinstance, specifying that height is 1 mm is an example of specifying theheight and thus is an example of specifying a parameter. An example of“specifying” a given value of a given parameter is to select a menuitem, where the menu item has the given value of the given parameter. To“specify” a thickness includes specifying a thickness without specifyingwhere the thickness occurs. Likewise, to “specify” a parametercomprising height, width, cross-sectional height or cross-sectionalwidth includes specifying the parameter without specifying where theparameter occurs. An example of “specifying” is selecting.

As used herein, a “subset” of a set consists of less than all of theelements of the set.

“Substantially” means at least ten percent. For example: (a) 112 issubstantially larger than 100; and (b) 108 is not substantially largerthan 100.

The term “such as” means for example.

The “tangent line” to a straight line means the straight line itself.

“Thickness” means vertical thickness or horizontal thickness. “Verticalthickness” means vertical distance from top to bottom of an object.“Horizontal thickness” means horizontal distance from side to side of anobject. “Thickness” does not mean viscosity.

“3D” means three-dimensional.

A “3D curve” means a curve such that, in a 3D Cartesian coordinatesystem with coordinate axes denoted x, y and z, respectively: (i) anorthographic projection of a first region of the curve unto the xy planeis curved; (ii) an orthographic projection of a second region of thecurve unto the yz plane is curved; and (iii) an orthographic projectionof a third region of the curve unto the xz plane is curved, where thefirst, second or third regions may, but do not necessarily, overlap witheach other in whole or in part.

To say that “a tool moves along a path” means that either: (a) the toolmoves along the path; or (b) a fabrication site moves along the path.For purposes of the preceding sentence, a “fabrication site” is aposition at which fabrication caused by tool occurs.

To say that a machine-readable medium is “transitory” means that themedium is a transitory signal, such as an electromagnetic wave.

“User-inputted tool instructions” mean instructions that: (a) areuser-inputted; (b) specify a set of multiple fabrication paths to betraveled by a tool while the tool fabricates; and (c) for eachrespective path in the set of fabrication paths, specify one or moreparameters of an object to be fabricated by the tool while the toolmoves along the respective path. For purposes of the preceding sentence,to say that instructions are “user-inputted” means that a human userinputs data specifying a specific shape, specific length, specificposition or other specific characteristic of at least one path in theset of fabrication paths while the user is consciously aware of thespecific shape, specific length, specific position or other specificcharacteristic.

“User-inputted path instructions” mean instructions that: (a) areuser-inputted; (b) specify a set of multiple deposition paths to betraveled by an extruder; and (c) for each respective path in the set ofdeposition paths, specify one or more parameters of an object to beextruded by the extruder while the extruder moves along the respectivepath. For purposes of the preceding sentence, to say that instructionsare “user-inputted” means that a human user inputs data specifying aspecific shape, specific length, specific position or other specificcharacteristic of at least one path in the set of deposition paths whilethe user is consciously aware of the specific shape, specific length,specific position or other specific characteristic.

Except to the extent that the context clearly requires otherwise, ifsteps in a method are described herein, then the method includesvariations in which: (1) steps in the method occur in any order orsequence, including any order or sequence different than that described;(2) any step or steps in the method occurs more than once; (3) differentsteps, out of the steps in the method, occur a different number of timesduring the method, (4) any combination of steps in the method is done inparallel or serially; (5) any step or steps in the method is performediteratively; (6) a given step in the method is applied to the same thingeach time that the given step occurs or is applied to different thingseach time that the given step occurs; or (7) the method includes othersteps, in addition to the steps described.

This Definitions section shall, in all cases, control over and overrideany other definition of the Defined Terms. For example, the definitionsof Defined Terms set forth in this Definitions section override commonusage or any external dictionary. If a given term is explicitly orimplicitly defined in this document, then that definition shall becontrolling, and shall override any definition of the given term arisingfrom any source (e.g., a dictionary or common usage) that is external tothis document. If this document provides clarification regarding themeaning of a particular term, then that clarification shall, to theextent applicable, override any definition of the given term arisingfrom any source (e.g., a dictionary or common usage) that is external tothis document. To the extent that any term or phrase is defined orclarified herein, such definition or clarification applies to anygrammatical variation of such term or phrase, taking into account thedifference in grammatical form. For example, the grammatical variationsinclude noun, verb, participle, adjective, and possessive forms, anddifferent declensions, and different tenses. In each case described inthis paragraph, the Applicant or Applicants are acting as his, her, itsor their own lexicographer.

Variations

This invention may be implemented in many different ways. Here are somenon-limiting examples:

This invention is not limited to extrusion. This invention may beimplemented with any type of additive fabrication, including: (a)extrusion deposition (e.g., fused deposition modeling); (b) electronbeam freeform fabrication; (c) fusing or agglomeration of granules(e.g., direct metal laser sintering, electron-beam melting, selectivelaser melting, selective heat sintering, selective laser sintering,plaster-based 3D printing, or powder and inkjet head 3D printing); (d)lamination (e.g., laminated object manufacturing); or (e)photopolymerization (e.g., stereolithography, or digital lightprocessing). In some alternative implementations of this invention: (a)the extruder is replaced by an appropriate fabrication tool (e.g., alaser in selective laser sintering); (b) user-inputted path instructionsare replaced by user-inputted tool instructions, as defined herein; and(c) deposition paths are replaced by fabrication paths, as definedherein. In some cases, the fabrication paths are the paths in which thesite of fabrication moves. For example, consider selective lasersintering. Typically the site of fabrication (i.e., where sinteringoccurs) moves but the laser itself does not move; instead the laser beamis steered by other hardware.

In many implementations of this invention, a user specifies a depositionpath. Alternatively, in some implementations of this invention: (a) auser specifies the position of an extruded object (e.g., by specifyingpoints in a centerline of the object); (b) the position of the objectimplies a deposition path; and (c) a computer takes the position of theobject as in input, and calculates the deposition path.

In illustrative implementations of this invention, the toolpath includesportions in which the extruder does extrude (deposition paths) and alsoinclude portions where the extruder does not extrude (“non-depositionpaths”). In some cases, in each of the deposition paths, an extruderextrudes an object that is an integral (structurally unitary) object.For example, an integral object will result if the extrusion istemporally continuous—that is, material is being extruded at all pointsin time between the start and end of the extrusion. Also, for example,an integral object will result—even if the extrusion is not temporallycontinuous—if the extruder extrudes at all spatial points of the pathtraveled by the extruder between the start and the end of the extrusion.In this latter approach, an extruder may stop extruding at a spatialpoint on a deposition path, then linger at that spatial point withoutextruding material, then begin extruding again before moving away fromthat spatial point.

In one aspect, this invention is an apparatus comprising: (a) one ormore I/O devices for accepting user-inputted path instructions thatspecify a set of multiple deposition paths for an extruder to travel;and (b) an actuator for actuating motion of the extruder along atrajectory that includes each of the deposition paths and also includesmultiple non-deposition paths, such that the motion of the extruderalong the trajectory includes the extruder moving along a depositionpath, then along a non-deposition path, and then along anotherdeposition path; wherein for each respective path in the set ofdeposition paths (i) the user-inputted path instructions specify athickness of an object, and (ii) the extruder is configured to extrudethe object such that (A) the extruder extrudes the object only while theextruder is moving along the respective path, and (B) the extruderextrudes the object in accordance with fabrication instructions computedby a computer based at least in part on the thickness. In some cases,the fabrication instructions specify (i) a pressure in the extruder or(ii) a parameter that is computed by a computer based at least in parton a pressure in the extruder. In some cases, the fabricationinstructions specify (i) an extruder speed or (ii) a parameter that iscomputed by a computer based at least in part on an extruder speed. Insome cases, the thickness is a vertical thickness. In some cases, thethickness is a horizontal thickness. In some cases, the extruder isconfigured such that: (a) material that exits a nozzle of the extrudercomprises a stream of material; and (b) material properties of thestream vary at different spatial positions of the stream. In some cases,the extruder includes a nozzle that is configured to extrude a stream ofmaterial, such that the stream has an inner core that consists of afirst type of material and has an outer sheath that consists of a secondtype of material, the first and second types of material being differentfrom each other. In some cases, the extruder includes a set of one ormore nozzles configured such that: (a) material that exits the set ofone or more nozzles comprises a first stream and a second stream; and(b) the first stream has different material properties than the secondstream. In some cases, the extruder is configured to extrude a set ofmultiple objects during the motion along the trajectory, one object perdeposition path, such that: (a) each object, respectively, is an objectdescribed in clause (i) of the first sentence of this paragraph; and (b)after the set of objects is extruded, each object in the set of objectsadheres to at least one other object in the set of objects such that theset of objects together comprises an integral 3D structure. In somecases, the apparatus is not configured to perform sliced layer-by-layerfabrication. Each of the cases described above in this paragraph is anexample of the apparatus described in the first sentence of thisparagraph, and is also an example of an embodiment of this inventionthat may be combined with other embodiments of this invention.

In another aspect, this invention is a method comprising: (a) one ormore I/O devices accepting user-inputted path instructions that specifya set of multiple deposition paths for an extruder to travel; and (b) anactuator actuating motion of the extruder along a trajectory thatincludes each of the deposition paths and also includes multiplenon-deposition paths, such that the motion of the extruder along thetrajectory includes the extruder moving along a deposition path, thenalong a non-deposition path, and then along another deposition path;wherein for each respective path in the set of deposition paths (i) theuser-inputted path instructions specify a height and a width of anobject, and (ii) the extruder extrudes the object such that (A) theextruder extrudes the object only while the extruder is moving along therespective path, and (B) the extruder extrudes the object in accordancewith instructions computed by a computer based at least in part on theheight and width. In some cases, one or more of the deposition paths are3D curves. In some cases: (a) a set of objects is extruded while theextruder moves along the set of deposition paths, one object perdeposition path; and (b) each object in the set of objects adheres to atleast one other object in the set of objects, such that the set ofobjects together comprise an integral 3D structure. In some cases: (a)the deposition paths include a path that is a 3D curve; (b) the 3D curveincludes a first point and a second point, the second point being higherthan the first point; and (c) as the extruder travels along the 3Dcurve, the extruder extrudes material at both the first and secondpoints, even though the extruder has not completed extrusion at allbuild points of the integral 3D structure that lie in a horizontal planethat intersects the first point. In some cases, the structure hasmaterial properties that vary as a function of spatial position withinthe structure. In some cases, one or more I/O devices accept input froma user, which input specifies one or more material properties of one ormore materials to be extruded during a path in the set of depositionpaths. In some cases, the input specifies a concentration for a mixture.In some cases, one or more I/O devices accept input from a user, whichinput specifies at least one parameter out of a set of parameters thatconsists of (i) a type of nozzle of the extruder, (ii) nozzle speed, or(iii) a temperature. In some cases, the method does not include stepsthat collectively comprise sliced layer-by-layer deposition. Each of thecases described above in this paragraph is an example of the methoddescribed in the first sentence of this paragraph, and is also anexample of an embodiment of this invention that may be combined withother embodiments of this invention.

In another aspect, this invention is a system comprising: (a) one ormore I/O devices for accepting user-inputted tool instructions thatspecify a set of multiple fabrication paths for a tool to travel; and(b) an actuator for actuating motion of the tool along a trajectory thatincludes each of the fabrication paths and also includes multiplenon-fabrication paths, such that the motion of the tool along thetrajectory includes the tool moving along a fabrication path, then alonga non-fabrication path, and then along another fabrication path; whereinfor each respective path in the set of fabrication paths (i) theuser-inputted tool instructions specify a thickness of an object, and(ii) the tool is configured to fabricate the object by additivefabrication such that (A) the tool fabricates the object only while thetool is moving along the respective path, and (B) the tool fabricatesthe object in accordance with instructions computed by a computer basedat least in part on the thickness. The preceding sentence describes anexample of an embodiment of this invention that may be combined withother embodiments of this invention.

The above description (including without limitation any attacheddrawings and figures) describes illustrative implementations of theinvention. However, the invention may be implemented in other ways. Themethods and apparatus which are described above are merely illustrativeapplications of the principles of the invention. Other arrangements,methods, modifications, and substitutions by one of ordinary skill inthe art are therefore also within the scope of the present invention.Numerous modifications may be made by those skilled in the art withoutdeparting from the scope of the invention. Also, this invention includeswithout limitation each combination and permutation of one or more ofthe abovementioned implementations, embodiments and features.

What is claimed is:
 1. An apparatus comprising: (a) one or more I/Odevices configured to accept user-inputted path instructions thatspecify a set of multiple deposition paths for an extruder to travel;and (b) an actuator configured to actuate physical motion of theextruder along a trajectory that includes each of the deposition pathsand also includes multiple non-deposition paths, in such a way that thephysical motion of the extruder along the trajectory includes theextruder moving along a deposition path, then along a non-depositionpath, and then along another deposition path; wherein for eachrespective path in the set of deposition paths (i) the user-inputtedpath instructions specify a thickness of an object, and (ii) theextruder is configured to extrude the object in such a way that (A) theextruder extrudes the object only while the extruder is moving along therespective path, and (B) the extruder extrudes the object in accordancewith fabrication instructions computed by a computer based at least inpart on the thickness.
 2. The apparatus of claim 1, wherein thefabrication instructions specify (i) a pressure in the extruder or (ii)a parameter that is computed by a computer based at least in part on apressure in the extruder.
 3. The apparatus of claim 1, wherein thefabrication instructions specify (i) an extruder speed or (ii) aparameter that is computed by a computer based at least in part on anextruder speed.
 4. The apparatus of claim 1, wherein the thickness is avertical thickness.
 5. The apparatus of claim 1, wherein the thicknessis a horizontal thickness.
 6. The apparatus of claim 1, wherein theextruder is configured in such a way that: (a) material that exits anozzle of the extruder comprises a stream of material; and (b) materialproperties of the stream vary at different spatial positions of thestream.
 7. The apparatus of claim 1, wherein the extruder includes anozzle that is configured to extrude a stream of material in such a waythat the stream has an inner core that consists of a first type ofmaterial and has an outer sheath that consists of a second type ofmaterial, the first and second types of material being different fromeach other.
 8. The apparatus of claim 1, wherein the extruder includes aset of one or more nozzles configured in such a way that: (a) materialthat exits the set of one or more nozzles comprises a first stream and asecond stream; and (b) the first stream has different materialproperties than the second stream.
 9. The apparatus of claim 1, whereinthe extruder is configured to extrude a set of multiple objects duringthe motion along the trajectory, one object per deposition path, in sucha way that: (a) each object, respectively, is an object described inclause (i) of claim 1; and (b) after the set of objects is extruded,each object in the set of objects adheres to at least one other objectin the set of objects in such a way that the set of objects togethercomprises an integral 3D structure.
 10. The apparatus of claim 1,wherein the apparatus is not configured to perform sliced layer-by-layerfabrication.